package com.seed.core.enumeration;

import com.mybatisflex.annotation.EnumValue;

/**
 * mode: single|app|micro
 * single: 单体模式
 * app: 微服务模式里的主应用
 * micro: 微服务模式里的微服务
 *
 * 开发模式/单体模式(single)：
 * /app -> 配置地址
 * /app/login -> 登录地址
 * /app/file -> 文件上传下载地址
 * /micro/user/page
 * /micro/user/detail/1
 *
 * 生产模式/微服务模式(app/micro)：
 * / -> 配置地址
 * /login -> 登录地址（mode=app才有）
 * /file -> 文件上传下载地址
 * /user/page
 * /user/detail/1
 */
public enum AppMode {
    dev("dev", "开发模式"),
    single("single", "单体模式"),
    app("app", "主应用模式"),
    micro("micro", "微服务模式");

    private final String value;
    private final String label;

    AppMode(String value, String label) {
        this.value = value;
        this.label = label;
    }

    @EnumValue
    public String getValue() { return value; }

    public String getLabel() {
        return label;
    }
}
